package org.loong.crypto.service.core.provider;

import org.loong.crypto.common.exception.CryptoException;
import org.loong.crypto.core.algorithm.HmacAlgorithm;

/**
 * HMAC Verifier.
 */
public interface HmacVerifier extends HmacProvider {

    /**
     * HMAC digest verify.
     * 
     * @param algorithm the algorithm
     * @param message the message to hmac
     * @param hmacContent the hmac content
     * @return the verify result
     * @throws CryptoException the {@link CryptoException}
     */
    boolean verify(final HmacAlgorithm algorithm, final byte[] message, final byte[] hmacContent) throws CryptoException;
}
